package com.kerbores.blog.filter;

import javax.servlet.http.HttpSession;

import org.nutz.mvc.ActionContext;
import org.nutz.mvc.ActionFilter;
import org.nutz.mvc.Mvcs;
import org.nutz.mvc.View;
import org.nutz.mvc.view.ServerRedirectView;

import com.kerbores.blog.bean.User;
import com.kerbores.blog.bean.User.Level;
import com.kerbores.blog.constant.Constant;

/**
 * 非管理员访问admin路径跳转到403页面
 * 
 * @author 贵源 <br>
 *         create at 2014年10月23日
 */
public class AdminFilter implements ActionFilter {

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.nutz.mvc.ActionFilter#match(org.nutz.mvc.ActionContext)
	 */
	@Override
	public View match(ActionContext actionContext) {
		HttpSession session = Mvcs.getHttpSession(false);
		if (session == null || session.getAttribute(Constant.LOGIN_USER_SESSION_KEY) == null
				|| ((User) session.getAttribute(Constant.LOGIN_USER_SESSION_KEY)).getLevel() != Level.ADMIN) {// 没有session
																												// 没有登录
																												// 登录用户不是管理员级别
			return new ServerRedirectView("/403");
		}
		return null;
	}

}
